SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TTULTI_CORR_I01]  
/*--------------------------------------------------------*/  
/*---Sistema              : Tesoreria                   --*/  
/*---M©dulo               : Empresa                     --*/  
/*---Programa             : Devuelve el œltimo correlativo  --*/  
/*---                       para un comp. retenci½n  --*/  
/*---Nombre SP            : SP_TTULTI_CORR_I01         --*/  
/*---Desarrollado por     : Reynaldo Menacho Luyo       --*/  
/*---Fecha Creaci©n       : 01/09/2003                  --*/  
/*---Base Datos           : Microsoft Sql Server        --*/  
/*---Versi©n              : 2000                        --*/  
/*---Invoca a SP          :                             --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/  
/*---Fecha Modificaci©n   : 20/04/2005                   --*/   
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI                           --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TTULTI_CORR_I01                     --*/  
/*--- Grant all on SP_TTULTI_CORR_I01 to public         --*/   
/*--- SP_TTULTI_CORR_I01 '01', 'RET', '0001', '' --*/  
/*-------------------------------------------------------*/  
@ISCO_EMPR TD_VC_002,  
@ISCO_USUA_MODI   TD_VC_008,
@ISTI_DOCU TD_VC_003,  
@ISNU_SERI TD_VC_008,  
@ISNU_COMP_RETE TD_VC_020 OUTPUT
	As
Declare  
  @VNNU_ULTI_CORR  TD_IN_001,  
  @VSNU_CORR   TD_VC_020,  
  @VNNU_LONG TD_IN_001  
  
  Begin Tran TTULTI_CORR_I01  
           
  Select @VNNU_ULTI_CORR = ISNULL(T1.NU_ULTI_CORR, 0) + 1, @VNNU_LONG = T2.NU_LONG  
  From  TTDOSE_CORR T1, TTDOCU_CNTB T2  
  Where  T1.CO_EMPR = @ISCO_EMPR  
  And T1.TI_DOCU = @ISTI_DOCU  
  And T1.NU_SERI = @ISNU_SERI  
  And T1.TI_DOCU = T2.TI_DOCU  
  
  Update TTDOSE_CORR   
  Set  NU_ULTI_CORR = @VNNU_ULTI_CORR,
       CO_USUA_MODI = @ISCO_USUA_MODI,
	   FE_USUA_MODI = GETDATE()   
         Where  CO_EMPR = @ISCO_EMPR  
  And  TI_DOCU = @ISTI_DOCU  
  And  NU_SERI = @ISNU_SERI  
  
  If @@error <> 0  
            Begin  
          Rollback tran  
         Return  
            End  
  
         Select @VSNU_CORR = @ISNU_SERI + '-' + Replicate('0', @VNNU_LONG - Len(Convert(Varchar(20),@VNNU_ULTI_CORR))) + Convert(Varchar(200),@VNNU_ULTI_CORR)  
         Select @ISNU_COMP_RETE = @VSNU_CORR  
  
  COMMIT TRAN TTULTI_CORR_I01  
  
Select @ISNU_COMP_RETE  
  
Return  
  
/*------------------------------ FIN ------------------------------*/


GO
